package com.insigma.business.qrcode.merchant.bff.impl;

import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.merchant.bff.MerchantEnterBFFProvider;
import com.insigma.business.qrcode.merchant.dto.CareWelfareMerchantEntryApplyDTO;
import com.insigma.business.qrcode.merchant.dto.CareWelfareMerchantInfoLogDTO;
import com.insigma.business.qrcode.merchant.dto.request.*;
import com.insigma.business.qrcode.merchant.service.MerchantEnterService;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;
import com.insigma.business.qrcode.welfare.dto.CareWelfareMerchantDiscountDTO;
import com.insigma.business.qrcode.welfare.dto.CareWelfareMerchantInfoDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

@Service("merchantEnterBFFProvider")
public class MerchantEnterBFFProviderImpl implements MerchantEnterBFFProvider {
    @Autowired
    private MerchantEnterService merchantEnterService;

    @Override
    public BaseResponse<Integer> enterApply(CareWelfareMerchantEntryApplyInsertRequest request) {
        return merchantEnterService.enterApply(request);
    }

    @Override
    public BasePagingResponse<List<CareWelfareMerchantEntryApplyDTO>> getApplyList(CareWelfareMerchantEntryApplySearchRequest request) {
        return merchantEnterService.getApplyList(request);
    }

    @Override
    public void exportApplyList(HttpServletResponse httpServletResponse, CareWelfareMerchantEntryApplySearchRequest request) {
        merchantEnterService.exportApplyList(httpServletResponse,request);
    }

    @Override
    public BaseResponse<CareWelfareMerchantEntryApplyDTO> getApplyDetail(BaseGetRequest baseGetRequest) {
        return merchantEnterService.getApplyDetail(baseGetRequest);
    }

    @Override
    public BaseResponse<Integer> enterAudit(CareWelfareMerchantEntryApplyUpdateRequest updateRequest) {
        return merchantEnterService.enterAudit(updateRequest);
    }

    @Override
    public BasePagingResponse<List<CareWelfareMerchantInfoDTO>> managerSearch(CareWelfareMerchantInfoSearchRequest searchRequest) {
        return merchantEnterService.managerSearch(searchRequest);
    }

    @Override
    public BaseResponse<CareWelfareMerchantInfoDTO> getManagerDetail(BaseGetRequest baseGetRequest) {
        return merchantEnterService.getManagerDetail(baseGetRequest);
    }

    @Override
    public BaseResponse<Integer> managerUpdate(CareWelfareMerchantInfoUpdateRequest updateRequest) {
        return merchantEnterService.managerUpdate(updateRequest);
    }

    @Override
    public BaseResponse<Integer> managerPublish(CareWelfareMerchantInfoUpdateRequest updateRequest) {
        return merchantEnterService.managerPublish(updateRequest);
    }

    @Override
    public BaseResponse<Integer> cancelEnter(CareWelfareMerchantInfoUpdateRequest updateRequest) {
        return merchantEnterService.cancelEnter(updateRequest);
    }

    @Override
    public BaseResponse<Integer> outApply(CareWelfareMerchantInfoUpdateRequest updateRequest) {
        return merchantEnterService.outApply(updateRequest);
    }

    @Override
    public BasePagingResponse<List<CareWelfareMerchantInfoDTO>> searchOutWait(CareWelfareMerchantInfoSearchRequest searchRequest) {
        return merchantEnterService.searchOutWait(searchRequest);
    }

    @Override
    public BaseResponse<Integer> outAudit(CareWelfareMerchantInfoUpdateRequest updateRequest) {
        return merchantEnterService.outAudit(updateRequest);
    }

    @Override
    public BasePagingResponse<List<CareWelfareMerchantInfoDTO>> outSearch(CareWelfareMerchantInfoSearchRequest searchRequest) {
        return merchantEnterService.outSearch(searchRequest);
    }

    @Override
    public BaseResponse<CareWelfareMerchantInfoDTO> getOutDetail(BaseGetRequest baseGetRequest) {
        return merchantEnterService.getOutDetail(baseGetRequest);
    }

    @Override
    public BaseResponse<Integer> reApply(CareWelfareMerchantInfoUpdateRequest updateRequest) {
        return merchantEnterService.reApply(updateRequest);
    }

    @Override
    public BaseResponse<Integer> outUpdate(CareWelfareMerchantInfoUpdateRequest updateRequest) {
        return merchantEnterService.outUpdate(updateRequest);
    }

    @Override
    public BaseResponse<Integer> updateCareWelfareMerchantDiscount(CareWelfareMerchantDiscountUpdateRequest careWelfareMerchantDiscountUpdateRequest) {
        return merchantEnterService.updateCareWelfareMerchantDiscount(careWelfareMerchantDiscountUpdateRequest);
    }

    @Override
    public BaseResponse<String> insertCareWelfareMerchantDiscount(CareWelfareMerchantDiscountInsertRequest careWelfareMerchantDiscountInsertRequest) {
        return merchantEnterService.insertCareWelfareMerchantDiscount(careWelfareMerchantDiscountInsertRequest);
    }

    @Override
    public BaseResponse<CareWelfareMerchantDiscountDTO> getCareWelfareMerchantDiscount(BaseGetRequest baseGetRequest) {
        return merchantEnterService.getCareWelfareMerchantDiscount(baseGetRequest);
    }

    @Override
    public BasePagingResponse<List<CareWelfareMerchantDiscountDTO>> getCareWelfareMerchantDiscountList(CareWelfareMerchantDiscountSearchRequest baseGetRequest) {
        return merchantEnterService.getCareWelfareMerchantDiscountList(baseGetRequest);
    }

    @Override
    public BasePagingResponse<List<CareWelfareMerchantInfoLogDTO>> getUpdateLog(CareWelfareMerchantInfoLogSearchRequest careWelfareMerchantInfoLogSearchRequest) {
        return merchantEnterService.getUpdateLog(careWelfareMerchantInfoLogSearchRequest);
    }
}
